Use newer glib-genmarshal to simplify build rules
authorEmmanuele Bassi <ebassi@gnome.org>
Tue, 11 Jul 2017 10:39:59 +0000 (11:39 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Tue, 11 Jul 2017 10:47:38 +0000 (11:47 +0100)
The glib-genmarshal tool from GLib 2.54 added various command line
arguments that allow us to remove a bunch of as hoc manipulations of
the generated marshaller source files. The marshal generator tool can
now include an header in the source, and undef the G_ENABLE_DEBUG
pre-processor symbol for us. It can also generate the prototypes of the
marshallers in the C source, and avoid a 'missing-prototypes' compiler
warning.

gdk/Makefile.am
gtk/Makefile.am

index 6fbd478f18ad89fc49772f7095dd6e27a5940aa3..d830cef1beb78b372e37a88b20c06bb9ffe6ba9f 100644 (file)
@@ -426,6 +426,7 @@ gdkmarshalers.c: gdkmarshalers.list
        $(AM_V_GEN) $(GLIB_GENMARSHAL) \
                --prefix=_gdk_marshal \
                --body \
+               --prototypes \
                $(srcdir)/gdkmarshalers.list > gdkmarshalers-c.tmp      \
        && mv gdkmarshalers-c.tmp gdkmarshalers.c \
        || ( rm -f gdkmarshalers-c.tmp && exit 1 )
index d204ba2267711455f5dbe1808f55ff3a8aed578e..826eeb41988a7982fdfe61b34d593982939a2b0f 100644 (file)
@@ -1196,19 +1196,21 @@ gtkmarshalers.h: stamp-gtkmarshalers.h
        @true
 stamp-gtkmarshalers.h: gtkmarshalers.list
        $(AM_V_GEN) $(GLIB_GENMARSHAL) \
-               --prefix=_gtk_marshal \
                --header \
+               --prefix=_gtk_marshal \
                --valist-marshallers \
-               $(srcdir)/gtkmarshalers.list >> xgen-gmlh \
+               $(srcdir)/gtkmarshalers.list > xgen-gmlh \
        && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
        && rm -f xgen-gmlh \
        && echo timestamp > $(@F)
 gtkmarshalers.c: gtkmarshalers.list
-       $(AM_V_GEN) (echo "#undef G_ENABLE_DEBUG"; \
-        $(GLIB_GENMARSHAL) \
-               --prefix=_gtk_marshal \
+       $(AM_V_GEN) $(GLIB_GENMARSHAL) \
                --body \
-               --valist-marshallers $(srcdir)/gtkmarshalers.list) >> xgen-gmlc \
+               --prefix=_gtk_marshal \
+               --valist-marshallers \
+               --include-header="gtkmarshalers.h" \
+               -U G_ENABLE_DEBUG \
+               $(srcdir)/gtkmarshalers.list > xgen-gmlc \
        && cp xgen-gmlc gtkmarshalers.c \
        && rm -f xgen-gmlc